using System;
using System.IO;
using System.Windows.Forms;
using System.Configuration;

namespace PlugIn
{
	/// <summary>
	/// Generic plugin interface
	/// </summary>
	public interface IPlugin
	{
		string Name{get;set;}
		string FileName{get;set;}
		Version PIVersion{get;set;}
		IPluginHost Host{get;set;}
		System.Windows.Forms.Control PluginForm{get;}
		AppSettings Settings{get;set;}
		AppSettingsSection SettingsSection{get;set;}
		bool Registered{get;}
	}

	/// <summary>
	/// The host
	/// </summary>
	public interface IPluginHost
	{
		DirectoryInfo GetInstallPath();
		bool Register(IPlugin ipi);
	}
}
